package thread;

public class demo10 {
    public static void main(String[] args) throws InterruptedException {
        Thread t = new Thread(() -> {
            //由于这个currentThread方法，是在后续t start之后才执行的
            //并且是在t线程中执行的，返回的结果就是指向t线程对象的引用了
            while (!Thread.currentThread().isInterrupted()) {
                System.out.println("hello thread");
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    break;
                    //使用idea自动生成catch语句，此时默认给的代码是再次抛出一个其他异常
                    //这样的操作太粗暴了，不只是让t线程结束了，也会让整个进程结束（没有人catch这个Runtime异常）
                    //这只是idea自动生成的代码，咱们实际开发，慎重这么搞
                    //throw new RuntimeException（e）
                }
            }
        });
        t.start();
        Thread.sleep(2000);
        //在main线程中，尝试终止t线程
        t.interrupt();
    }
}
